package com.local.model;

import java.util.ArrayList;
import java.util.List;

public class WorkTransitionExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public WorkTransitionExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andWorkTransUuidIsNull() {
            addCriterion("work_trans_uuid is null");
            return (Criteria) this;
        }

        public Criteria andWorkTransUuidIsNotNull() {
            addCriterion("work_trans_uuid is not null");
            return (Criteria) this;
        }

        public Criteria andWorkTransUuidEqualTo(String value) {
            addCriterion("work_trans_uuid =", value, "workTransUuid");
            return (Criteria) this;
        }

        public Criteria andWorkTransUuidNotEqualTo(String value) {
            addCriterion("work_trans_uuid <>", value, "workTransUuid");
            return (Criteria) this;
        }

        public Criteria andWorkTransUuidGreaterThan(String value) {
            addCriterion("work_trans_uuid >", value, "workTransUuid");
            return (Criteria) this;
        }

        public Criteria andWorkTransUuidGreaterThanOrEqualTo(String value) {
            addCriterion("work_trans_uuid >=", value, "workTransUuid");
            return (Criteria) this;
        }

        public Criteria andWorkTransUuidLessThan(String value) {
            addCriterion("work_trans_uuid <", value, "workTransUuid");
            return (Criteria) this;
        }

        public Criteria andWorkTransUuidLessThanOrEqualTo(String value) {
            addCriterion("work_trans_uuid <=", value, "workTransUuid");
            return (Criteria) this;
        }

        public Criteria andWorkTransUuidLike(String value) {
            addCriterion("work_trans_uuid like", value, "workTransUuid");
            return (Criteria) this;
        }

        public Criteria andWorkTransUuidNotLike(String value) {
            addCriterion("work_trans_uuid not like", value, "workTransUuid");
            return (Criteria) this;
        }

        public Criteria andWorkTransUuidIn(List<String> values) {
            addCriterion("work_trans_uuid in", values, "workTransUuid");
            return (Criteria) this;
        }

        public Criteria andWorkTransUuidNotIn(List<String> values) {
            addCriterion("work_trans_uuid not in", values, "workTransUuid");
            return (Criteria) this;
        }

        public Criteria andWorkTransUuidBetween(String value1, String value2) {
            addCriterion("work_trans_uuid between", value1, value2, "workTransUuid");
            return (Criteria) this;
        }

        public Criteria andWorkTransUuidNotBetween(String value1, String value2) {
            addCriterion("work_trans_uuid not between", value1, value2, "workTransUuid");
            return (Criteria) this;
        }

        public Criteria andArrangeWorkUuidIsNull() {
            addCriterion("arrange_work_uuid is null");
            return (Criteria) this;
        }

        public Criteria andArrangeWorkUuidIsNotNull() {
            addCriterion("arrange_work_uuid is not null");
            return (Criteria) this;
        }

        public Criteria andArrangeWorkUuidEqualTo(String value) {
            addCriterion("arrange_work_uuid =", value, "arrangeWorkUuid");
            return (Criteria) this;
        }

        public Criteria andArrangeWorkUuidNotEqualTo(String value) {
            addCriterion("arrange_work_uuid <>", value, "arrangeWorkUuid");
            return (Criteria) this;
        }

        public Criteria andArrangeWorkUuidGreaterThan(String value) {
            addCriterion("arrange_work_uuid >", value, "arrangeWorkUuid");
            return (Criteria) this;
        }

        public Criteria andArrangeWorkUuidGreaterThanOrEqualTo(String value) {
            addCriterion("arrange_work_uuid >=", value, "arrangeWorkUuid");
            return (Criteria) this;
        }

        public Criteria andArrangeWorkUuidLessThan(String value) {
            addCriterion("arrange_work_uuid <", value, "arrangeWorkUuid");
            return (Criteria) this;
        }

        public Criteria andArrangeWorkUuidLessThanOrEqualTo(String value) {
            addCriterion("arrange_work_uuid <=", value, "arrangeWorkUuid");
            return (Criteria) this;
        }

        public Criteria andArrangeWorkUuidLike(String value) {
            addCriterion("arrange_work_uuid like", value, "arrangeWorkUuid");
            return (Criteria) this;
        }

        public Criteria andArrangeWorkUuidNotLike(String value) {
            addCriterion("arrange_work_uuid not like", value, "arrangeWorkUuid");
            return (Criteria) this;
        }

        public Criteria andArrangeWorkUuidIn(List<String> values) {
            addCriterion("arrange_work_uuid in", values, "arrangeWorkUuid");
            return (Criteria) this;
        }

        public Criteria andArrangeWorkUuidNotIn(List<String> values) {
            addCriterion("arrange_work_uuid not in", values, "arrangeWorkUuid");
            return (Criteria) this;
        }

        public Criteria andArrangeWorkUuidBetween(String value1, String value2) {
            addCriterion("arrange_work_uuid between", value1, value2, "arrangeWorkUuid");
            return (Criteria) this;
        }

        public Criteria andArrangeWorkUuidNotBetween(String value1, String value2) {
            addCriterion("arrange_work_uuid not between", value1, value2, "arrangeWorkUuid");
            return (Criteria) this;
        }

        public Criteria andStationIdIsNull() {
            addCriterion("station_id is null");
            return (Criteria) this;
        }

        public Criteria andStationIdIsNotNull() {
            addCriterion("station_id is not null");
            return (Criteria) this;
        }

        public Criteria andStationIdEqualTo(String value) {
            addCriterion("station_id =", value, "stationId");
            return (Criteria) this;
        }

        public Criteria andStationIdNotEqualTo(String value) {
            addCriterion("station_id <>", value, "stationId");
            return (Criteria) this;
        }

        public Criteria andStationIdGreaterThan(String value) {
            addCriterion("station_id >", value, "stationId");
            return (Criteria) this;
        }

        public Criteria andStationIdGreaterThanOrEqualTo(String value) {
            addCriterion("station_id >=", value, "stationId");
            return (Criteria) this;
        }

        public Criteria andStationIdLessThan(String value) {
            addCriterion("station_id <", value, "stationId");
            return (Criteria) this;
        }

        public Criteria andStationIdLessThanOrEqualTo(String value) {
            addCriterion("station_id <=", value, "stationId");
            return (Criteria) this;
        }

        public Criteria andStationIdLike(String value) {
            addCriterion("station_id like", value, "stationId");
            return (Criteria) this;
        }

        public Criteria andStationIdNotLike(String value) {
            addCriterion("station_id not like", value, "stationId");
            return (Criteria) this;
        }

        public Criteria andStationIdIn(List<String> values) {
            addCriterion("station_id in", values, "stationId");
            return (Criteria) this;
        }

        public Criteria andStationIdNotIn(List<String> values) {
            addCriterion("station_id not in", values, "stationId");
            return (Criteria) this;
        }

        public Criteria andStationIdBetween(String value1, String value2) {
            addCriterion("station_id between", value1, value2, "stationId");
            return (Criteria) this;
        }

        public Criteria andStationIdNotBetween(String value1, String value2) {
            addCriterion("station_id not between", value1, value2, "stationId");
            return (Criteria) this;
        }

        public Criteria andWorkPeopleIdIsNull() {
            addCriterion("work_people_id is null");
            return (Criteria) this;
        }

        public Criteria andWorkPeopleIdIsNotNull() {
            addCriterion("work_people_id is not null");
            return (Criteria) this;
        }

        public Criteria andWorkPeopleIdEqualTo(String value) {
            addCriterion("work_people_id =", value, "workPeopleId");
            return (Criteria) this;
        }

        public Criteria andWorkPeopleIdNotEqualTo(String value) {
            addCriterion("work_people_id <>", value, "workPeopleId");
            return (Criteria) this;
        }

        public Criteria andWorkPeopleIdGreaterThan(String value) {
            addCriterion("work_people_id >", value, "workPeopleId");
            return (Criteria) this;
        }

        public Criteria andWorkPeopleIdGreaterThanOrEqualTo(String value) {
            addCriterion("work_people_id >=", value, "workPeopleId");
            return (Criteria) this;
        }

        public Criteria andWorkPeopleIdLessThan(String value) {
            addCriterion("work_people_id <", value, "workPeopleId");
            return (Criteria) this;
        }

        public Criteria andWorkPeopleIdLessThanOrEqualTo(String value) {
            addCriterion("work_people_id <=", value, "workPeopleId");
            return (Criteria) this;
        }

        public Criteria andWorkPeopleIdLike(String value) {
            addCriterion("work_people_id like", value, "workPeopleId");
            return (Criteria) this;
        }

        public Criteria andWorkPeopleIdNotLike(String value) {
            addCriterion("work_people_id not like", value, "workPeopleId");
            return (Criteria) this;
        }

        public Criteria andWorkPeopleIdIn(List<String> values) {
            addCriterion("work_people_id in", values, "workPeopleId");
            return (Criteria) this;
        }

        public Criteria andWorkPeopleIdNotIn(List<String> values) {
            addCriterion("work_people_id not in", values, "workPeopleId");
            return (Criteria) this;
        }

        public Criteria andWorkPeopleIdBetween(String value1, String value2) {
            addCriterion("work_people_id between", value1, value2, "workPeopleId");
            return (Criteria) this;
        }

        public Criteria andWorkPeopleIdNotBetween(String value1, String value2) {
            addCriterion("work_people_id not between", value1, value2, "workPeopleId");
            return (Criteria) this;
        }

        public Criteria andWorkPeopleNameIsNull() {
            addCriterion("work_people_name is null");
            return (Criteria) this;
        }

        public Criteria andWorkPeopleNameIsNotNull() {
            addCriterion("work_people_name is not null");
            return (Criteria) this;
        }

        public Criteria andWorkPeopleNameEqualTo(String value) {
            addCriterion("work_people_name =", value, "workPeopleName");
            return (Criteria) this;
        }

        public Criteria andWorkPeopleNameNotEqualTo(String value) {
            addCriterion("work_people_name <>", value, "workPeopleName");
            return (Criteria) this;
        }

        public Criteria andWorkPeopleNameGreaterThan(String value) {
            addCriterion("work_people_name >", value, "workPeopleName");
            return (Criteria) this;
        }

        public Criteria andWorkPeopleNameGreaterThanOrEqualTo(String value) {
            addCriterion("work_people_name >=", value, "workPeopleName");
            return (Criteria) this;
        }

        public Criteria andWorkPeopleNameLessThan(String value) {
            addCriterion("work_people_name <", value, "workPeopleName");
            return (Criteria) this;
        }

        public Criteria andWorkPeopleNameLessThanOrEqualTo(String value) {
            addCriterion("work_people_name <=", value, "workPeopleName");
            return (Criteria) this;
        }

        public Criteria andWorkPeopleNameLike(String value) {
            addCriterion("work_people_name like", value, "workPeopleName");
            return (Criteria) this;
        }

        public Criteria andWorkPeopleNameNotLike(String value) {
            addCriterion("work_people_name not like", value, "workPeopleName");
            return (Criteria) this;
        }

        public Criteria andWorkPeopleNameIn(List<String> values) {
            addCriterion("work_people_name in", values, "workPeopleName");
            return (Criteria) this;
        }

        public Criteria andWorkPeopleNameNotIn(List<String> values) {
            addCriterion("work_people_name not in", values, "workPeopleName");
            return (Criteria) this;
        }

        public Criteria andWorkPeopleNameBetween(String value1, String value2) {
            addCriterion("work_people_name between", value1, value2, "workPeopleName");
            return (Criteria) this;
        }

        public Criteria andWorkPeopleNameNotBetween(String value1, String value2) {
            addCriterion("work_people_name not between", value1, value2, "workPeopleName");
            return (Criteria) this;
        }

        public Criteria andMoneyIsNull() {
            addCriterion("money is null");
            return (Criteria) this;
        }

        public Criteria andMoneyIsNotNull() {
            addCriterion("money is not null");
            return (Criteria) this;
        }

        public Criteria andMoneyEqualTo(Double value) {
            addCriterion("money =", value, "money");
            return (Criteria) this;
        }

        public Criteria andMoneyNotEqualTo(Double value) {
            addCriterion("money <>", value, "money");
            return (Criteria) this;
        }

        public Criteria andMoneyGreaterThan(Double value) {
            addCriterion("money >", value, "money");
            return (Criteria) this;
        }

        public Criteria andMoneyGreaterThanOrEqualTo(Double value) {
            addCriterion("money >=", value, "money");
            return (Criteria) this;
        }

        public Criteria andMoneyLessThan(Double value) {
            addCriterion("money <", value, "money");
            return (Criteria) this;
        }

        public Criteria andMoneyLessThanOrEqualTo(Double value) {
            addCriterion("money <=", value, "money");
            return (Criteria) this;
        }

        public Criteria andMoneyIn(List<Double> values) {
            addCriterion("money in", values, "money");
            return (Criteria) this;
        }

        public Criteria andMoneyNotIn(List<Double> values) {
            addCriterion("money not in", values, "money");
            return (Criteria) this;
        }

        public Criteria andMoneyBetween(Double value1, Double value2) {
            addCriterion("money between", value1, value2, "money");
            return (Criteria) this;
        }

        public Criteria andMoneyNotBetween(Double value1, Double value2) {
            addCriterion("money not between", value1, value2, "money");
            return (Criteria) this;
        }

        public Criteria andGrouponMoneyIsNull() {
            addCriterion("groupon_money is null");
            return (Criteria) this;
        }

        public Criteria andGrouponMoneyIsNotNull() {
            addCriterion("groupon_money is not null");
            return (Criteria) this;
        }

        public Criteria andGrouponMoneyEqualTo(Double value) {
            addCriterion("groupon_money =", value, "grouponMoney");
            return (Criteria) this;
        }

        public Criteria andGrouponMoneyNotEqualTo(Double value) {
            addCriterion("groupon_money <>", value, "grouponMoney");
            return (Criteria) this;
        }

        public Criteria andGrouponMoneyGreaterThan(Double value) {
            addCriterion("groupon_money >", value, "grouponMoney");
            return (Criteria) this;
        }

        public Criteria andGrouponMoneyGreaterThanOrEqualTo(Double value) {
            addCriterion("groupon_money >=", value, "grouponMoney");
            return (Criteria) this;
        }

        public Criteria andGrouponMoneyLessThan(Double value) {
            addCriterion("groupon_money <", value, "grouponMoney");
            return (Criteria) this;
        }

        public Criteria andGrouponMoneyLessThanOrEqualTo(Double value) {
            addCriterion("groupon_money <=", value, "grouponMoney");
            return (Criteria) this;
        }

        public Criteria andGrouponMoneyIn(List<Double> values) {
            addCriterion("groupon_money in", values, "grouponMoney");
            return (Criteria) this;
        }

        public Criteria andGrouponMoneyNotIn(List<Double> values) {
            addCriterion("groupon_money not in", values, "grouponMoney");
            return (Criteria) this;
        }

        public Criteria andGrouponMoneyBetween(Double value1, Double value2) {
            addCriterion("groupon_money between", value1, value2, "grouponMoney");
            return (Criteria) this;
        }

        public Criteria andGrouponMoneyNotBetween(Double value1, Double value2) {
            addCriterion("groupon_money not between", value1, value2, "grouponMoney");
            return (Criteria) this;
        }

        public Criteria andCutOffCountIsNull() {
            addCriterion("cut_off_count is null");
            return (Criteria) this;
        }

        public Criteria andCutOffCountIsNotNull() {
            addCriterion("cut_off_count is not null");
            return (Criteria) this;
        }

        public Criteria andCutOffCountEqualTo(Double value) {
            addCriterion("cut_off_count =", value, "cutOffCount");
            return (Criteria) this;
        }

        public Criteria andCutOffCountNotEqualTo(Double value) {
            addCriterion("cut_off_count <>", value, "cutOffCount");
            return (Criteria) this;
        }

        public Criteria andCutOffCountGreaterThan(Double value) {
            addCriterion("cut_off_count >", value, "cutOffCount");
            return (Criteria) this;
        }

        public Criteria andCutOffCountGreaterThanOrEqualTo(Double value) {
            addCriterion("cut_off_count >=", value, "cutOffCount");
            return (Criteria) this;
        }

        public Criteria andCutOffCountLessThan(Double value) {
            addCriterion("cut_off_count <", value, "cutOffCount");
            return (Criteria) this;
        }

        public Criteria andCutOffCountLessThanOrEqualTo(Double value) {
            addCriterion("cut_off_count <=", value, "cutOffCount");
            return (Criteria) this;
        }

        public Criteria andCutOffCountIn(List<Double> values) {
            addCriterion("cut_off_count in", values, "cutOffCount");
            return (Criteria) this;
        }

        public Criteria andCutOffCountNotIn(List<Double> values) {
            addCriterion("cut_off_count not in", values, "cutOffCount");
            return (Criteria) this;
        }

        public Criteria andCutOffCountBetween(Double value1, Double value2) {
            addCriterion("cut_off_count between", value1, value2, "cutOffCount");
            return (Criteria) this;
        }

        public Criteria andCutOffCountNotBetween(Double value1, Double value2) {
            addCriterion("cut_off_count not between", value1, value2, "cutOffCount");
            return (Criteria) this;
        }

        public Criteria andMovePayMoneyIsNull() {
            addCriterion("move_pay_money is null");
            return (Criteria) this;
        }

        public Criteria andMovePayMoneyIsNotNull() {
            addCriterion("move_pay_money is not null");
            return (Criteria) this;
        }

        public Criteria andMovePayMoneyEqualTo(Double value) {
            addCriterion("move_pay_money =", value, "movePayMoney");
            return (Criteria) this;
        }

        public Criteria andMovePayMoneyNotEqualTo(Double value) {
            addCriterion("move_pay_money <>", value, "movePayMoney");
            return (Criteria) this;
        }

        public Criteria andMovePayMoneyGreaterThan(Double value) {
            addCriterion("move_pay_money >", value, "movePayMoney");
            return (Criteria) this;
        }

        public Criteria andMovePayMoneyGreaterThanOrEqualTo(Double value) {
            addCriterion("move_pay_money >=", value, "movePayMoney");
            return (Criteria) this;
        }

        public Criteria andMovePayMoneyLessThan(Double value) {
            addCriterion("move_pay_money <", value, "movePayMoney");
            return (Criteria) this;
        }

        public Criteria andMovePayMoneyLessThanOrEqualTo(Double value) {
            addCriterion("move_pay_money <=", value, "movePayMoney");
            return (Criteria) this;
        }

        public Criteria andMovePayMoneyIn(List<Double> values) {
            addCriterion("move_pay_money in", values, "movePayMoney");
            return (Criteria) this;
        }

        public Criteria andMovePayMoneyNotIn(List<Double> values) {
            addCriterion("move_pay_money not in", values, "movePayMoney");
            return (Criteria) this;
        }

        public Criteria andMovePayMoneyBetween(Double value1, Double value2) {
            addCriterion("move_pay_money between", value1, value2, "movePayMoney");
            return (Criteria) this;
        }

        public Criteria andMovePayMoneyNotBetween(Double value1, Double value2) {
            addCriterion("move_pay_money not between", value1, value2, "movePayMoney");
            return (Criteria) this;
        }

        public Criteria andRealPriceIsNull() {
            addCriterion("real_price is null");
            return (Criteria) this;
        }

        public Criteria andRealPriceIsNotNull() {
            addCriterion("real_price is not null");
            return (Criteria) this;
        }

        public Criteria andRealPriceEqualTo(Double value) {
            addCriterion("real_price =", value, "realPrice");
            return (Criteria) this;
        }

        public Criteria andRealPriceNotEqualTo(Double value) {
            addCriterion("real_price <>", value, "realPrice");
            return (Criteria) this;
        }

        public Criteria andRealPriceGreaterThan(Double value) {
            addCriterion("real_price >", value, "realPrice");
            return (Criteria) this;
        }

        public Criteria andRealPriceGreaterThanOrEqualTo(Double value) {
            addCriterion("real_price >=", value, "realPrice");
            return (Criteria) this;
        }

        public Criteria andRealPriceLessThan(Double value) {
            addCriterion("real_price <", value, "realPrice");
            return (Criteria) this;
        }

        public Criteria andRealPriceLessThanOrEqualTo(Double value) {
            addCriterion("real_price <=", value, "realPrice");
            return (Criteria) this;
        }

        public Criteria andRealPriceIn(List<Double> values) {
            addCriterion("real_price in", values, "realPrice");
            return (Criteria) this;
        }

        public Criteria andRealPriceNotIn(List<Double> values) {
            addCriterion("real_price not in", values, "realPrice");
            return (Criteria) this;
        }

        public Criteria andRealPriceBetween(Double value1, Double value2) {
            addCriterion("real_price between", value1, value2, "realPrice");
            return (Criteria) this;
        }

        public Criteria andRealPriceNotBetween(Double value1, Double value2) {
            addCriterion("real_price not between", value1, value2, "realPrice");
            return (Criteria) this;
        }

        public Criteria andShouldPriceIsNull() {
            addCriterion("should_price is null");
            return (Criteria) this;
        }

        public Criteria andShouldPriceIsNotNull() {
            addCriterion("should_price is not null");
            return (Criteria) this;
        }

        public Criteria andShouldPriceEqualTo(Double value) {
            addCriterion("should_price =", value, "shouldPrice");
            return (Criteria) this;
        }

        public Criteria andShouldPriceNotEqualTo(Double value) {
            addCriterion("should_price <>", value, "shouldPrice");
            return (Criteria) this;
        }

        public Criteria andShouldPriceGreaterThan(Double value) {
            addCriterion("should_price >", value, "shouldPrice");
            return (Criteria) this;
        }

        public Criteria andShouldPriceGreaterThanOrEqualTo(Double value) {
            addCriterion("should_price >=", value, "shouldPrice");
            return (Criteria) this;
        }

        public Criteria andShouldPriceLessThan(Double value) {
            addCriterion("should_price <", value, "shouldPrice");
            return (Criteria) this;
        }

        public Criteria andShouldPriceLessThanOrEqualTo(Double value) {
            addCriterion("should_price <=", value, "shouldPrice");
            return (Criteria) this;
        }

        public Criteria andShouldPriceIn(List<Double> values) {
            addCriterion("should_price in", values, "shouldPrice");
            return (Criteria) this;
        }

        public Criteria andShouldPriceNotIn(List<Double> values) {
            addCriterion("should_price not in", values, "shouldPrice");
            return (Criteria) this;
        }

        public Criteria andShouldPriceBetween(Double value1, Double value2) {
            addCriterion("should_price between", value1, value2, "shouldPrice");
            return (Criteria) this;
        }

        public Criteria andShouldPriceNotBetween(Double value1, Double value2) {
            addCriterion("should_price not between", value1, value2, "shouldPrice");
            return (Criteria) this;
        }

        public Criteria andStatusIsNull() {
            addCriterion("status_ is null");
            return (Criteria) this;
        }

        public Criteria andStatusIsNotNull() {
            addCriterion("status_ is not null");
            return (Criteria) this;
        }

        public Criteria andStatusEqualTo(Integer value) {
            addCriterion("status_ =", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotEqualTo(Integer value) {
            addCriterion("status_ <>", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThan(Integer value) {
            addCriterion("status_ >", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("status_ >=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThan(Integer value) {
            addCriterion("status_ <", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThanOrEqualTo(Integer value) {
            addCriterion("status_ <=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusIn(List<Integer> values) {
            addCriterion("status_ in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotIn(List<Integer> values) {
            addCriterion("status_ not in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusBetween(Integer value1, Integer value2) {
            addCriterion("status_ between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("status_ not between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNull() {
            addCriterion("remark is null");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNotNull() {
            addCriterion("remark is not null");
            return (Criteria) this;
        }

        public Criteria andRemarkEqualTo(String value) {
            addCriterion("remark =", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotEqualTo(String value) {
            addCriterion("remark <>", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThan(String value) {
            addCriterion("remark >", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThanOrEqualTo(String value) {
            addCriterion("remark >=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThan(String value) {
            addCriterion("remark <", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThanOrEqualTo(String value) {
            addCriterion("remark <=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLike(String value) {
            addCriterion("remark like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotLike(String value) {
            addCriterion("remark not like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkIn(List<String> values) {
            addCriterion("remark in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotIn(List<String> values) {
            addCriterion("remark not in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkBetween(String value1, String value2) {
            addCriterion("remark between", value1, value2, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotBetween(String value1, String value2) {
            addCriterion("remark not between", value1, value2, "remark");
            return (Criteria) this;
        }

        public Criteria andNextWorkUserIdIsNull() {
            addCriterion("next_work_user_id is null");
            return (Criteria) this;
        }

        public Criteria andNextWorkUserIdIsNotNull() {
            addCriterion("next_work_user_id is not null");
            return (Criteria) this;
        }

        public Criteria andNextWorkUserIdEqualTo(String value) {
            addCriterion("next_work_user_id =", value, "nextWorkUserId");
            return (Criteria) this;
        }

        public Criteria andNextWorkUserIdNotEqualTo(String value) {
            addCriterion("next_work_user_id <>", value, "nextWorkUserId");
            return (Criteria) this;
        }

        public Criteria andNextWorkUserIdGreaterThan(String value) {
            addCriterion("next_work_user_id >", value, "nextWorkUserId");
            return (Criteria) this;
        }

        public Criteria andNextWorkUserIdGreaterThanOrEqualTo(String value) {
            addCriterion("next_work_user_id >=", value, "nextWorkUserId");
            return (Criteria) this;
        }

        public Criteria andNextWorkUserIdLessThan(String value) {
            addCriterion("next_work_user_id <", value, "nextWorkUserId");
            return (Criteria) this;
        }

        public Criteria andNextWorkUserIdLessThanOrEqualTo(String value) {
            addCriterion("next_work_user_id <=", value, "nextWorkUserId");
            return (Criteria) this;
        }

        public Criteria andNextWorkUserIdLike(String value) {
            addCriterion("next_work_user_id like", value, "nextWorkUserId");
            return (Criteria) this;
        }

        public Criteria andNextWorkUserIdNotLike(String value) {
            addCriterion("next_work_user_id not like", value, "nextWorkUserId");
            return (Criteria) this;
        }

        public Criteria andNextWorkUserIdIn(List<String> values) {
            addCriterion("next_work_user_id in", values, "nextWorkUserId");
            return (Criteria) this;
        }

        public Criteria andNextWorkUserIdNotIn(List<String> values) {
            addCriterion("next_work_user_id not in", values, "nextWorkUserId");
            return (Criteria) this;
        }

        public Criteria andNextWorkUserIdBetween(String value1, String value2) {
            addCriterion("next_work_user_id between", value1, value2, "nextWorkUserId");
            return (Criteria) this;
        }

        public Criteria andNextWorkUserIdNotBetween(String value1, String value2) {
            addCriterion("next_work_user_id not between", value1, value2, "nextWorkUserId");
            return (Criteria) this;
        }

        public Criteria andNextWorkUserNameIsNull() {
            addCriterion("next_work_user_name is null");
            return (Criteria) this;
        }

        public Criteria andNextWorkUserNameIsNotNull() {
            addCriterion("next_work_user_name is not null");
            return (Criteria) this;
        }

        public Criteria andNextWorkUserNameEqualTo(String value) {
            addCriterion("next_work_user_name =", value, "nextWorkUserName");
            return (Criteria) this;
        }

        public Criteria andNextWorkUserNameNotEqualTo(String value) {
            addCriterion("next_work_user_name <>", value, "nextWorkUserName");
            return (Criteria) this;
        }

        public Criteria andNextWorkUserNameGreaterThan(String value) {
            addCriterion("next_work_user_name >", value, "nextWorkUserName");
            return (Criteria) this;
        }

        public Criteria andNextWorkUserNameGreaterThanOrEqualTo(String value) {
            addCriterion("next_work_user_name >=", value, "nextWorkUserName");
            return (Criteria) this;
        }

        public Criteria andNextWorkUserNameLessThan(String value) {
            addCriterion("next_work_user_name <", value, "nextWorkUserName");
            return (Criteria) this;
        }

        public Criteria andNextWorkUserNameLessThanOrEqualTo(String value) {
            addCriterion("next_work_user_name <=", value, "nextWorkUserName");
            return (Criteria) this;
        }

        public Criteria andNextWorkUserNameLike(String value) {
            addCriterion("next_work_user_name like", value, "nextWorkUserName");
            return (Criteria) this;
        }

        public Criteria andNextWorkUserNameNotLike(String value) {
            addCriterion("next_work_user_name not like", value, "nextWorkUserName");
            return (Criteria) this;
        }

        public Criteria andNextWorkUserNameIn(List<String> values) {
            addCriterion("next_work_user_name in", values, "nextWorkUserName");
            return (Criteria) this;
        }

        public Criteria andNextWorkUserNameNotIn(List<String> values) {
            addCriterion("next_work_user_name not in", values, "nextWorkUserName");
            return (Criteria) this;
        }

        public Criteria andNextWorkUserNameBetween(String value1, String value2) {
            addCriterion("next_work_user_name between", value1, value2, "nextWorkUserName");
            return (Criteria) this;
        }

        public Criteria andNextWorkUserNameNotBetween(String value1, String value2) {
            addCriterion("next_work_user_name not between", value1, value2, "nextWorkUserName");
            return (Criteria) this;
        }

        public Criteria andStartworkTimeIsNull() {
            addCriterion("startwork_time is null");
            return (Criteria) this;
        }

        public Criteria andStartworkTimeIsNotNull() {
            addCriterion("startwork_time is not null");
            return (Criteria) this;
        }

        public Criteria andStartworkTimeEqualTo(String value) {
            addCriterion("startwork_time =", value, "startworkTime");
            return (Criteria) this;
        }

        public Criteria andStartworkTimeNotEqualTo(String value) {
            addCriterion("startwork_time <>", value, "startworkTime");
            return (Criteria) this;
        }

        public Criteria andStartworkTimeGreaterThan(String value) {
            addCriterion("startwork_time >", value, "startworkTime");
            return (Criteria) this;
        }

        public Criteria andStartworkTimeGreaterThanOrEqualTo(String value) {
            addCriterion("startwork_time >=", value, "startworkTime");
            return (Criteria) this;
        }

        public Criteria andStartworkTimeLessThan(String value) {
            addCriterion("startwork_time <", value, "startworkTime");
            return (Criteria) this;
        }

        public Criteria andStartworkTimeLessThanOrEqualTo(String value) {
            addCriterion("startwork_time <=", value, "startworkTime");
            return (Criteria) this;
        }

        public Criteria andStartworkTimeLike(String value) {
            addCriterion("startwork_time like", value, "startworkTime");
            return (Criteria) this;
        }

        public Criteria andStartworkTimeNotLike(String value) {
            addCriterion("startwork_time not like", value, "startworkTime");
            return (Criteria) this;
        }

        public Criteria andStartworkTimeIn(List<String> values) {
            addCriterion("startwork_time in", values, "startworkTime");
            return (Criteria) this;
        }

        public Criteria andStartworkTimeNotIn(List<String> values) {
            addCriterion("startwork_time not in", values, "startworkTime");
            return (Criteria) this;
        }

        public Criteria andStartworkTimeBetween(String value1, String value2) {
            addCriterion("startwork_time between", value1, value2, "startworkTime");
            return (Criteria) this;
        }

        public Criteria andStartworkTimeNotBetween(String value1, String value2) {
            addCriterion("startwork_time not between", value1, value2, "startworkTime");
            return (Criteria) this;
        }

        public Criteria andEndworkTimeIsNull() {
            addCriterion("endwork_time is null");
            return (Criteria) this;
        }

        public Criteria andEndworkTimeIsNotNull() {
            addCriterion("endwork_time is not null");
            return (Criteria) this;
        }

        public Criteria andEndworkTimeEqualTo(String value) {
            addCriterion("endwork_time =", value, "endworkTime");
            return (Criteria) this;
        }

        public Criteria andEndworkTimeNotEqualTo(String value) {
            addCriterion("endwork_time <>", value, "endworkTime");
            return (Criteria) this;
        }

        public Criteria andEndworkTimeGreaterThan(String value) {
            addCriterion("endwork_time >", value, "endworkTime");
            return (Criteria) this;
        }

        public Criteria andEndworkTimeGreaterThanOrEqualTo(String value) {
            addCriterion("endwork_time >=", value, "endworkTime");
            return (Criteria) this;
        }

        public Criteria andEndworkTimeLessThan(String value) {
            addCriterion("endwork_time <", value, "endworkTime");
            return (Criteria) this;
        }

        public Criteria andEndworkTimeLessThanOrEqualTo(String value) {
            addCriterion("endwork_time <=", value, "endworkTime");
            return (Criteria) this;
        }

        public Criteria andEndworkTimeLike(String value) {
            addCriterion("endwork_time like", value, "endworkTime");
            return (Criteria) this;
        }

        public Criteria andEndworkTimeNotLike(String value) {
            addCriterion("endwork_time not like", value, "endworkTime");
            return (Criteria) this;
        }

        public Criteria andEndworkTimeIn(List<String> values) {
            addCriterion("endwork_time in", values, "endworkTime");
            return (Criteria) this;
        }

        public Criteria andEndworkTimeNotIn(List<String> values) {
            addCriterion("endwork_time not in", values, "endworkTime");
            return (Criteria) this;
        }

        public Criteria andEndworkTimeBetween(String value1, String value2) {
            addCriterion("endwork_time between", value1, value2, "endworkTime");
            return (Criteria) this;
        }

        public Criteria andEndworkTimeNotBetween(String value1, String value2) {
            addCriterion("endwork_time not between", value1, value2, "endworkTime");
            return (Criteria) this;
        }

        public Criteria andAttr1IsNull() {
            addCriterion("attr1 is null");
            return (Criteria) this;
        }

        public Criteria andAttr1IsNotNull() {
            addCriterion("attr1 is not null");
            return (Criteria) this;
        }

        public Criteria andAttr1EqualTo(String value) {
            addCriterion("attr1 =", value, "attr1");
            return (Criteria) this;
        }

        public Criteria andAttr1NotEqualTo(String value) {
            addCriterion("attr1 <>", value, "attr1");
            return (Criteria) this;
        }

        public Criteria andAttr1GreaterThan(String value) {
            addCriterion("attr1 >", value, "attr1");
            return (Criteria) this;
        }

        public Criteria andAttr1GreaterThanOrEqualTo(String value) {
            addCriterion("attr1 >=", value, "attr1");
            return (Criteria) this;
        }

        public Criteria andAttr1LessThan(String value) {
            addCriterion("attr1 <", value, "attr1");
            return (Criteria) this;
        }

        public Criteria andAttr1LessThanOrEqualTo(String value) {
            addCriterion("attr1 <=", value, "attr1");
            return (Criteria) this;
        }

        public Criteria andAttr1Like(String value) {
            addCriterion("attr1 like", value, "attr1");
            return (Criteria) this;
        }

        public Criteria andAttr1NotLike(String value) {
            addCriterion("attr1 not like", value, "attr1");
            return (Criteria) this;
        }

        public Criteria andAttr1In(List<String> values) {
            addCriterion("attr1 in", values, "attr1");
            return (Criteria) this;
        }

        public Criteria andAttr1NotIn(List<String> values) {
            addCriterion("attr1 not in", values, "attr1");
            return (Criteria) this;
        }

        public Criteria andAttr1Between(String value1, String value2) {
            addCriterion("attr1 between", value1, value2, "attr1");
            return (Criteria) this;
        }

        public Criteria andAttr1NotBetween(String value1, String value2) {
            addCriterion("attr1 not between", value1, value2, "attr1");
            return (Criteria) this;
        }

        public Criteria andAttr2IsNull() {
            addCriterion("attr2 is null");
            return (Criteria) this;
        }

        public Criteria andAttr2IsNotNull() {
            addCriterion("attr2 is not null");
            return (Criteria) this;
        }

        public Criteria andAttr2EqualTo(String value) {
            addCriterion("attr2 =", value, "attr2");
            return (Criteria) this;
        }

        public Criteria andAttr2NotEqualTo(String value) {
            addCriterion("attr2 <>", value, "attr2");
            return (Criteria) this;
        }

        public Criteria andAttr2GreaterThan(String value) {
            addCriterion("attr2 >", value, "attr2");
            return (Criteria) this;
        }

        public Criteria andAttr2GreaterThanOrEqualTo(String value) {
            addCriterion("attr2 >=", value, "attr2");
            return (Criteria) this;
        }

        public Criteria andAttr2LessThan(String value) {
            addCriterion("attr2 <", value, "attr2");
            return (Criteria) this;
        }

        public Criteria andAttr2LessThanOrEqualTo(String value) {
            addCriterion("attr2 <=", value, "attr2");
            return (Criteria) this;
        }

        public Criteria andAttr2Like(String value) {
            addCriterion("attr2 like", value, "attr2");
            return (Criteria) this;
        }

        public Criteria andAttr2NotLike(String value) {
            addCriterion("attr2 not like", value, "attr2");
            return (Criteria) this;
        }

        public Criteria andAttr2In(List<String> values) {
            addCriterion("attr2 in", values, "attr2");
            return (Criteria) this;
        }

        public Criteria andAttr2NotIn(List<String> values) {
            addCriterion("attr2 not in", values, "attr2");
            return (Criteria) this;
        }

        public Criteria andAttr2Between(String value1, String value2) {
            addCriterion("attr2 between", value1, value2, "attr2");
            return (Criteria) this;
        }

        public Criteria andAttr2NotBetween(String value1, String value2) {
            addCriterion("attr2 not between", value1, value2, "attr2");
            return (Criteria) this;
        }

        public Criteria andAttr3IsNull() {
            addCriterion("attr3 is null");
            return (Criteria) this;
        }

        public Criteria andAttr3IsNotNull() {
            addCriterion("attr3 is not null");
            return (Criteria) this;
        }

        public Criteria andAttr3EqualTo(String value) {
            addCriterion("attr3 =", value, "attr3");
            return (Criteria) this;
        }

        public Criteria andAttr3NotEqualTo(String value) {
            addCriterion("attr3 <>", value, "attr3");
            return (Criteria) this;
        }

        public Criteria andAttr3GreaterThan(String value) {
            addCriterion("attr3 >", value, "attr3");
            return (Criteria) this;
        }

        public Criteria andAttr3GreaterThanOrEqualTo(String value) {
            addCriterion("attr3 >=", value, "attr3");
            return (Criteria) this;
        }

        public Criteria andAttr3LessThan(String value) {
            addCriterion("attr3 <", value, "attr3");
            return (Criteria) this;
        }

        public Criteria andAttr3LessThanOrEqualTo(String value) {
            addCriterion("attr3 <=", value, "attr3");
            return (Criteria) this;
        }

        public Criteria andAttr3Like(String value) {
            addCriterion("attr3 like", value, "attr3");
            return (Criteria) this;
        }

        public Criteria andAttr3NotLike(String value) {
            addCriterion("attr3 not like", value, "attr3");
            return (Criteria) this;
        }

        public Criteria andAttr3In(List<String> values) {
            addCriterion("attr3 in", values, "attr3");
            return (Criteria) this;
        }

        public Criteria andAttr3NotIn(List<String> values) {
            addCriterion("attr3 not in", values, "attr3");
            return (Criteria) this;
        }

        public Criteria andAttr3Between(String value1, String value2) {
            addCriterion("attr3 between", value1, value2, "attr3");
            return (Criteria) this;
        }

        public Criteria andAttr3NotBetween(String value1, String value2) {
            addCriterion("attr3 not between", value1, value2, "attr3");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}